using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
using System.Web.Script.Serialization;
using System.ComponentModel.DataAnnotations.Schema;

namespace Century.Model.CMS
{

    public partial class Site
    {
       
        #region Primitive Properties
        [Key]
        public int Id { get; set; }
        [Required]
        [UIHint("GridForeignKey")]
        public virtual int? CountryId { get; set; }
        [Required]
        [MaxLength(2)]
        public string LanguageCode { get; set; }
        //[Required]
        [MaxLength(256)]
        public virtual string Name { get; set; }
        [Required]
        [MaxLength(512)]
        public virtual string Path { get; set; }
        [Required]
        public virtual bool IsDefault { get; set; }
        [Required]
        public virtual bool IsActive { get; set; }
        //[Required]
        public virtual string SiteAnalyticsScript { get; set; }
        //[Required]
        [MaxLength(1024)]
        public virtual string LiveApplicationUrl { get; set; }
        //[Required]
        [MaxLength(1024)]
        public virtual string DemoApplicationUrl { get; set; }
        //[Required]
        [MaxLength(1024)]
        public virtual string LoginUrl { get; set; }
        //[Required]
        [MaxLength(128)]
        public virtual string SiteAddress { get; set; }

        [MaxLength(10)]
        public string Flag { get; set; }

        public int? TwinSiteId { get; set; }

        [NotMapped]
        public virtual bool UserHasThisCountrySite { get; set; }

        #endregion

        #region Navigation Properties


        public string LocalName { get; set; }
        public string FlagImageName { get; set; }
        public string Culture { get; set; }


        [ScriptIgnore]
        public virtual Country Country { get; set; }

        [MaxLength(2)]
        public string ContryCode { get; set; }

        public ICollection<SitePage> SitePages { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountrySiteConfig> CountrySiteConfig { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountrySiteResource> CountrySiteResources { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<GenericNews> GenericNews { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountryCustomLink> CountryCustomLinks { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountrySiteScript> CountryCustomScripts { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<ExternalNewsSetting> ExternalNewsSettings { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<TranslationText> TranslationTexts { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<User> Users { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountryTranslation> CountryTranslations { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountrySitePlatform> CountrySitePlatforms { get; set; }

        //[ScriptIgnore]
        //public virtual ICollection<CountrySiteBusinessCentre> CountrySiteBusinessCentres { get; set; }

        #endregion
    }
}
